package com.uco.sample;

public class Control {
    public static void main(String[] args) {

    }

    // （分支结构）if语句
    public static void iftest(int a, int b) {
        if (a > b) {
            System.out.println("a > b");
        } else if (a < b) {
            System.out.println("a < b");
        } else {
            System.out.println("a == b");
        }
    }

    // （分支结构）switch语句，具有穿透性，需要break，否则穿透到下一条语句
    // double、float、long 不支持
    public static void switchtest(int a) {
        switch (a) {
            case 1:
                System.out.println("a == 1");
                break;
            case 2:
            case 3:
                System.out.println("a == 2");
                break;
            default:
                System.out.println("a != 1 && a != 2");
                break;
        }
    }

    // （循环结构）for语句 减少重复代码
    // for循环中，声明变量的生命周期在for循环体中，循环结束后，生命周期结束，变量销毁
    public static void forstatement(int a) {
        for (int i = 0; i < a; i++) {
            // 第三个迭代参数必不可少，否则进入死循环
            System.out.println("i < a");
        }
    }

    // （循环结构）foreach语句 遍历数据结构元素
    public static void foreachstatement(int[] a) {
        for (int i : a) {
            System.out.println("i < a");
        }
    }

    // （循环结构）while语句 结构和for语句类似，减少重复代码
    // 知道循环次数，使用 for，否则使用 while
    public static void whilestatement(int a) {
        while (a > 0) {
            System.out.println("a > 0");
            a--; // 迭代语句必不可少，否则会死循环
        }
    }

    // （循环结构）do...while语句
    // 无论如何，先执行一次
    public static void dowhilestatement(int a) {
        do {
            System.out.println("a > 0");
            a--;
        } while (a > 0);
    }

    // continue和break
    public static void continueandbreak(int a) {
        for (int i = 0; i < a; i++) {
            if (i == 3) {
                continue; // 跳过本次循环，继续下一次循环
            }
            System.out.println("i < a");
            if (i == 5) {
                break; // 跳出循环
            }
        }
    }


}
